﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyThietBi.BLL;
using QuanLyThietBi.DAL;
using QuanLyThietBi.DAL.Models;

namespace QuanLyThietBi
{
    public partial class ThemMoiChinhSuaNhanVien : Form
    {
        private NhanVienBO nhanvienBO;
        private int nhanvienId = -1;
        NHANVIEN nhanvien;

        public ThemMoiChinhSuaNhanVien()
        {
            InitializeComponent();
        }

        public ThemMoiChinhSuaNhanVien(int nhanvienID)
        {
            nhanvienId = nhanvienID;
            nhanvienBO = new NhanVienBO();
            NHANVIEN nv = nhanvienBO.GetNhanVienById(nhanvienId);

            InitializeComponent();

            tbxNhanVien.Text = nv.ten_day_du;
            BindDataToComboBoxPhongBan();
            cbxPhongBan.SelectedValue = nv.phong_ban;
        }

        private void ThemMoiChinhSuaNhanVien_Load(object sender, EventArgs e)
        {
            if (nhanvienId == -1)
            {
                BindDataToComboBoxPhongBan();
            }
        }

        private void BindDataToComboBoxPhongBan()
        {
            PhongBanBO phongbanBO = new PhongBanBO();
            List<PHONGBAN> dsPhongBan = phongbanBO.GetAllPhongBan();
            if (dsPhongBan != null && dsPhongBan.Count > 0)
            {
                cbxPhongBan.DataSource = dsPhongBan;
                cbxPhongBan.DisplayMember = "phong_ban";
                cbxPhongBan.ValueMember = "id";
            }
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            bool hople = true;
            if (string.IsNullOrEmpty(tbxNhanVien.Text.Trim()))
            {
                hople = false;
                tbxNhanVien.Focus();
                tbxNhanVien.BackColor = Color.Red;
            }
            else
            {
                tbxNhanVien.BackColor = Color.White;
            }

            if (hople)
            {
                if (nhanvienId == -1)
                {
                    nhanvien = new NHANVIEN()
                    {
                        ten_day_du = tbxNhanVien.Text.Trim(),
                        phong_ban = Convert.ToInt32(cbxPhongBan.SelectedValue),
                        ten_dang_nhap = null,
                        mat_khau = null,
                        quyen = 2
                    };

                    nhanvienBO = new NhanVienBO();
                    nhanvienBO.SaveNhanVien(nhanvien);
                }
                else
                {
                    nhanvien = nhanvienBO.GetNhanVienById(nhanvienId);
                    if (nhanvien != null)
                    {
                        nhanvien.ten_day_du = tbxNhanVien.Text.Trim();
                        nhanvien.phong_ban = Convert.ToInt32(cbxPhongBan.SelectedValue);
                        nhanvien.quyen = 2;
                    }

                    nhanvienBO = new NhanVienBO();
                    nhanvienBO.UpdateNhanVien(nhanvien);
                }
                MessageBox.Show("Lưu nhân viên thành công", "Thông báo !!!");

                QuanLyNhanVien qlnv = new QuanLyNhanVien();
                qlnv.Show();
                this.Hide();
            }
        }

        private void btnTroLai_Click(object sender, EventArgs e)
        {
            QuanLyNhanVien add = new QuanLyNhanVien();
            add.Show();
            this.Hide();
        }
    }
}
